Subject Knowledge Requirements for Entry into CS Teacher Training


SKR2 = Programming

A student about to embark on a primary teacher training course as a CS specialist should know, understand and be able to:
  • Code competently in at least two programming languages, which may both be 'visual'; at least one of these must allow the use of programming concepts such as selection, repetition, procedures, variables and relational operators.
  • Explain and use programming concepts such as selection, repetition, procedures, variables and relational operators.
  • Review and assess the quality of code. Find and correct errors in syntax and meaning.
  • Explain that computers are controlled by sequences of precise instructions called programs.
  • Explain that computers follow instructions blindly; hence the need for care and precision.
  • Represent algorithmic steps in multiple programming languages (e.g. Logo, Scratch)
  • Explain how and use programs to simulate environments to test hypothesis.
  • Explain and show how programs can be planned, tested and corrected and documented.
  • Explain how HTML constructs the rendering of a webpage

In addition to the above a student about to embark on a secondary teacher training course as a CS specialist should know, understand and be able to:
  • Programme competently in at least two programming languages, at least one of which must be textual.
  • Explain and use programming concepts such as selection, repetition, procedures, variables, relational operators, logical operators and functions.
  • Explain and use truth tables and Boolean valued variables.
  • Explain and use two-dimensional arrays (and higher).
  • Explain and use nested constructs (e.g. a loop that contains a conditional, and vice versa.
  • Explain the concept of procedures that call procedures.
  • Explain how low level languages work and when they are used, being able to give simple examples.
  • Explain that a program can be written to satisfy requirements and that they should be corrected if they do not meet these.
  • Successfully apply programming in solving Computing/Computer Science GCSE and A Level type problems.

"Teaching Your Kids how to Write Computer Programs" - Marshall Brain
"36 Resources to Help You Teach Kids Programming"
http://www.wired.co.uk/news/archive/2012-07/13/tangible-coding-workshops
http://inventwithpython.com/blog/2012/03/03/nobody-wants-to-learn-how-to-program/

http://www.programr.com/
http://www.codeavengers.com/
http://www.codecademy.com/
http://www.codeyear.com/
http://codeclub.org.uk/

The following is from the Computing At School's Computer Science Curriculum

Programs


Key Stage 1
  • Computers (all devices controlled by a processor) are controlled by sequences of instructions.
  • A computer program is like the narrative part of a story, and the computer's job is to do what the narrator says. Computers have no intelligence and so follow the narrator's instructions blindly.
  • Particular tasks can be accomplished by creating a program for a computer. Some computers allow their users to create their own programs.
  • Computers typically accept inputs, follow a stored sequence of instructions and produce outputs.
  • Programs can include repeated instructions.

Key Stage 2
  • A computer program is a sequence of instructions written to perform a specified task with a computer.
  • The idea of a program as a sequence of statements written in a programming language.
  • One or more mechanisms for selecting which statement sequence will be executed, based upon the value of some data item.
  • One or more mechanisms for repeating the execution of a sequence of statements, and using the value of some data item to control the number of times the sequence is repeated.
  • Programs can model and simulate environments to answer "What if" questions.
  • Programs can be created using visual tools. Programs work with different types of data. They can use a variety of control structures.
  • Programs are unambiguous and that care and precision is necessary to avoid errors.
  • Programs are developed according to a plan and then tested. Programs are corrected if they fail these tests.
  • The behaviour of a program should be planned.
  • A well-written program tells the reader the story of how it works, both in the code and the human-readable comments.
  • A web page is an HTML script that constructs a visual appearance. It is also the carrier for other code that can be processed by the browser.
  • Computers can be programmed so they appear to respond 'intelligently' to certain inputs.

Key Stage 3
  • Programming is a problem-solving activity, and there are typically many different programs that can solve the same problem.
  • Variables and assignment.
  • Programs can work with different types of data.
  • The use of relational operators and logic to control which program statements are executed and in what order
    • Simple use of AND, OR and NOT.
    • How relational operators are affected by negation.
  • Abstraction by using functions and procedures (definition and call), including:
    • Functions and procedures with parameters.
    • Programs with more than one call of a single procedure.
  • Documenting programs to explain how they work.
  • Understanding the difference between errors in program syntax and errors in meaning. Finding and correcting both kinds of errors.

Plus